home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (PO)
/
Nibble Volume 12, No. 11 (1991-11)(MindCraft Publishing)(Side A).zip
/
Nibble Volume 12, No. 11 (1991-11)(MindCraft Publishing)(Side A).po
/
NOTEPLAY.S
< prev
next >
Wrap
Text File
|
1996-12-24
|
3KB
|
65 lines
;*************************
;* NOTEPLAY *
;* routine for *
;* INTERVAL EAR TRAINING *
;* by Douglas Florzak *
;* *
;* Copyright (C) 1991 by *
;* MindCraft Publ. Corp. *
;* Lincoln, MA 01773 *
;* *
;* EDASM assembler *
;*************************
;
; *** WHAT IT DOES ***
;
; Allows a BASIC program to sound a note
; with separate pitch & duration variables.
;
; *** HOW TO USE IT ***
;
; Poke Pitch into: $331 (817)
; Poke Duration into: $332 (818)
; Call: $300 (768)
;
; A pitch of $00 is silent.
;
ORG $300 ; LOAD INTO $300
SPKR EQU $C030 ; SPEAKER CLICK OUTPUT
NOTEPLY PHA ; SAVE REGISTERS
TYA
PHA
TXA
PHA
LDA DURATN ; MOVE DURATION VALUE TO
STA DURCNT ; COUNTABLE LOCATION
LDY #$00 ; INIT FAST DURATION COUNT
TYA ; INIT DURATION MULTIPLIER
SOUND LDX PITCH ; GET PITCH VALUE
CPX #$00 ; IS IT SILENT?
BEQ NOSOUND ; YES, KEEP IT SILENT
BIT SPKR ; TWEEK SPEAKER
NOSOUND DEY ; DEC FAST DURATION COUNT
BNE CONT ; IF NO, CONTINUE
CLC
ADC DURMUL ; DURATION MULTIPLIER
BNE CONT ; IGNORE ALL BUT ZERO
DEC DURCNT ; DECREMENT SLOW DURATION
BEQ EXIT ; IF FINISHED
CONT DEX ; DECREMENT PITCH VALUE
BNE NOSOUND ; PITCH NOT DONE
BEQ SOUND ; PITCH DONE, ALWAYS TAKEN
EXIT PLA ; RESTORE REGISTERS
TAX
PLA
TAY
PLA
RTS ; AND EXIT
;
;*** NOTEPLAY STORAGE ***
;
PITCH DFB $195 ; PITCH GOES HERE
DURATN DFB $24 ; DURATION GOES HERE
DURCNT DFB $72 ; GETS COUNTED HERE
DURMUL DFB $20 ; DURATION MULTIPLIER